<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %><%--
  Created by IntelliJ IDEA.
  User: user
  Date: 2023/10/17
  Time: 9:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>jstl标签库使用讲解演示</title>
</head>
<body>
<%
        //向缓存对象中存入简单数据
        request.setAttribute("name","admin");
//向缓存对象中存入list类型数据
        List ls=new ArrayList();
        ls.add("张三");
        ls.add("李四");
        ls.add("王五");
        session.setAttribute("listdata",ls);
%>
<%--从请求域中获取数据输出到页面上进行显示--%>
<c:out value="${requestScope.name}"></c:out>
<br/>
<%--条件判断，若test后的表达式值为true，则输出中间的内容--%>
<c:if test="${not empty requestScope.name}">
    欢迎您，${requestScope.name}
</c:if>
<br/>
<%--choose,when标签的作用类似于if-else标签的作用，
若when后面的表达式的值成立（true）则执行when后面的内容，
反之则执行otherwise后面的内容--%>
<c:choose>
    <c:when test="${not empty sessionScope.name}">
        欢迎您，${sessionScope.name}
    </c:when>
    <c:otherwise>
        欢迎您，游客
    </c:otherwise>
</c:choose>
<br/>
<%--forEach进行遍历操作 var为遍历中每个元素的名字，items指的是要进行遍历的元素--%>
<c:forEach var="ls" items="${sessionScope.listdata}">
    ${ls}
</c:forEach>
<br/>
<%--也可以指定begin属性，指定元素从几开始遍历，end表示遍历终止--%>
<%--该例子会在页面上输出1到9的数字，这里也可以通过step属性指定步长--%>
<c:forEach begin="1" end="9" var="i" step="1">
    ${i}
</c:forEach>
<br/>
<%--案例：利用核心标签库，在页面上打印九九乘法表怎么做？--%>
<c:forEach var="i" begin="1" end="9">
    <c:forEach var="j" begin="1" end="${i}">
        ${i}*${j}=${i*j} &nbsp; &nbsp;
    </c:forEach>
    <br/>
</c:forEach>
</body>
</html>
